<template>
  <div class="page-login">
    <div class="box">
      <img class="logo" :src="Logo" alt="Logo" />
      <p class="desc">保易服</p>
      <el-form label-position="top" class="form" :disabled="saving" size="large">
        <el-form-item label="用户名">
          <input v-model="form.username" placeholder="请输入用户名" maxlength="20" auto-complete="off" />
        </el-form-item>

        <el-form-item label="密码">
          <input v-model="form.password" type="password" placeholder="请输入密码" maxlength="20" auto-complete="off" />
        </el-form-item>

        <el-form-item label="验证码">
          <div class="row">
            <input v-model="form.verifyCode" placeholder="图片验证码" maxlength="4" auto-complete="off" @keyup.enter="toLogin" />

            <captcha :ref="setRefs('captcha')" v-model="form.captchaId" @change="
								() => {
									form.verifyCode = '';
								}
							" />
          </div>
        </el-form-item>

        <div class="op">
          <el-button round :loading="saving" @click="toLogin">登录</el-button>
        </div>
      </el-form>
    </div>
  </div>
</template>

<script lang="ts">
import { defineComponent, reactive, ref } from "vue";
import { ElMessage } from "element-plus";
import { useCool } from "/@/cool";
import { useBase } from "/$/base";
import Captcha from "./components/captcha.vue";
import Logo from "/@/assets/logo.png";
import store from "store"

export default defineComponent({
	cool: {
		route: {
			path: "/login"
		}
	},

	components: {
		Captcha
	},

	setup() {
		const { refs, setRefs, router, service } = useCool();
		const { user, menu } = useBase();

		// 状态1
		const saving = ref(false);

		// 表单数据
		const form = reactive({
			username: "",
			password: "",
			captchaId: "",
			verifyCode: ""
		});

		store.set("eps",{"base":[{"module":"base","api":[{"method":"post","path":"/personUpdate","summary":"修改个人信息","dts":{},"tag":"","prefix":"/admin/base/comm"},{"method":"get","path":"/uploadMode","summary":"文件上传模式","dts":{},"tag":"","prefix":"/admin/base/comm"},{"method":"get","path":"/permmenu","summary":"权限与菜单","dts":{},"tag":"","prefix":"/admin/base/comm"},{"method":"get","path":"/person","summary":"个人信息","dts":{},"tag":"","prefix":"/admin/base/comm"},{"method":"post","path":"/upload","summary":"文件上传","dts":{},"tag":"","prefix":"/admin/base/comm"},{"method":"post","path":"/logout","summary":"退出","dts":{},"tag":"","prefix":"/admin/base/comm"}],"columns":[],"prefix":"/admin/base/comm"},{"module":"base","api":[{"method":"get","path":"/refreshToken","summary":"刷新token","dts":{},"tag":"","prefix":"/admin/base/open"},{"method":"get","path":"/captcha","summary":"验证码","dts":{},"tag":"","prefix":"/admin/base/open"},{"method":"post","path":"/login","summary":"登录","dts":{},"tag":"","prefix":"/admin/base/open"},{"method":"get","path":"/html","summary":"获得网页内容的参数值","dts":{},"tag":"","prefix":"/admin/base/open"},{"method":"get","path":"/eps","summary":"实体信息与路径","dts":{},"tag":"","prefix":"/admin/base/open"}],"columns":[],"prefix":"/admin/base/open"},{"module":"base","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/base/sys/department"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/base/sys/department"},{"method":"post","path":"/order","summary":"排序","dts":{},"tag":"","prefix":"/admin/base/sys/department"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/base/sys/department"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/base/sys/department"}],"name":"BaseSysDepartmentEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"name","type":"string","length":"","comment":"部门名称","nullable":false},{"propertyName":"parentId","type":"bigint","length":"","comment":"上级部门ID","nullable":true},{"propertyName":"orderNum","type":"number","length":"","comment":"排序","nullable":false},{"propertyName":"desc","type":"varchar","length":"5000","comment":"描述信息","nullable":false},{"propertyName":"remark","type":"varchar","length":"5000","comment":"备注信息","nullable":false},{"propertyName":"baoxian","type":"varchar","length":"5000","comment":"保险单号","nullable":false},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/base/sys/department"},{"module":"base","api":[{"method":"post","path":"/setKeep","summary":"日志保存时间","dts":{},"tag":"","prefix":"/admin/base/sys/log"},{"method":"get","path":"/getKeep","summary":"获得日志保存时间","dts":{},"tag":"","prefix":"/admin/base/sys/log"},{"method":"post","path":"/clear","summary":"清理","dts":{},"tag":"","prefix":"/admin/base/sys/log"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/base/sys/log"}],"name":"BaseSysLogEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"userId","type":"bigint","length":"","comment":"用户ID","nullable":true},{"propertyName":"action","type":"string","length":"100","comment":"行为","nullable":false},{"propertyName":"ip","type":"string","length":"50","comment":"ip","nullable":true},{"propertyName":"ipAddr","type":"string","length":"50","comment":"ip地址","nullable":true},{"propertyName":"params","type":"text","length":"","comment":"参数","nullable":true},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/base/sys/log"},{"module":"base","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/base/sys/menu"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/base/sys/menu"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/base/sys/menu"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/base/sys/menu"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/base/sys/menu"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/base/sys/menu"}],"name":"BaseSysMenuEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"parentId","type":"bigint","length":"","comment":"父菜单ID","nullable":true},{"propertyName":"name","type":"string","length":"","comment":"菜单名称","nullable":false},{"propertyName":"router","type":"string","length":"","comment":"菜单地址","nullable":true},{"propertyName":"perms","type":"string","length":"","comment":"权限标识","nullable":true},{"propertyName":"type","type":"tinyint","length":"","comment":"类型 0：目录 1：菜单 2：按钮","nullable":false},{"propertyName":"icon","type":"string","length":"","comment":"图标","nullable":true},{"propertyName":"orderNum","type":"number","length":"","comment":"排序","nullable":false},{"propertyName":"viewPath","type":"string","length":"","comment":"视图地址","nullable":true},{"propertyName":"keepAlive","type":"boolean","length":"","comment":"路由缓存","nullable":false},{"propertyName":"isShow","type":"boolean","length":"","comment":"是否显示","nullable":false},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/base/sys/menu"},{"module":"base","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/base/sys/param"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/base/sys/param"},{"method":"get","path":"/html","summary":"获得网页内容的参数值","dts":{},"tag":"","prefix":"/admin/base/sys/param"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/base/sys/param"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/base/sys/param"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/base/sys/param"}],"name":"BaseSysParamEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"keyName","type":"string","length":"","comment":"键位","nullable":false},{"propertyName":"name","type":"string","length":"","comment":"名称","nullable":false},{"propertyName":"data","type":"text","length":"","comment":"数据","nullable":false},{"propertyName":"dataType","type":"tinyint","length":"","comment":"数据类型 0:字符串 1：数组 2：键值对","nullable":false},{"propertyName":"remark","type":"string","length":"","comment":"备注","nullable":true},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/base/sys/param"},{"module":"base","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/base/sys/role"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/base/sys/role"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/base/sys/role"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/base/sys/role"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/base/sys/role"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/base/sys/role"}],"name":"BaseSysRoleEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"userId","type":"string","length":"","comment":"用户ID","nullable":false},{"propertyName":"name","type":"string","length":"","comment":"名称","nullable":false},{"propertyName":"label","type":"string","length":"50","comment":"角色标签","nullable":true},{"propertyName":"remark","type":"string","length":"","comment":"备注","nullable":true},{"propertyName":"relevance","type":"number","length":"","comment":"数据权限是否关联上下级","nullable":false},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/base/sys/role"},{"module":"base","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/base/sys/user"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/base/sys/user"},{"method":"post","path":"/move","summary":"移动部门","dts":{},"tag":"","prefix":"/admin/base/sys/user"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/base/sys/user"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/base/sys/user"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/base/sys/user"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/base/sys/user"}],"name":"BaseSysUserEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"departmentId","type":"bigint","length":"","comment":"部门ID","nullable":true},{"propertyName":"name","type":"string","length":"","comment":"姓名","nullable":true},{"propertyName":"username","type":"string","length":"100","comment":"用户名","nullable":false},{"propertyName":"password","type":"string","length":"","comment":"密码","nullable":false},{"propertyName":"passwordV","type":"number","length":"","comment":"密码版本, 作用是改完密码，让原来的token失效","nullable":false},{"propertyName":"nickName","type":"string","length":"","comment":"昵称","nullable":true},{"propertyName":"headImg","type":"string","length":"","comment":"头像","nullable":true},{"propertyName":"phone","type":"string","length":"20","comment":"手机","nullable":true},{"propertyName":"email","type":"string","length":"","comment":"邮箱","nullable":true},{"propertyName":"remark","type":"string","length":"","comment":"备注","nullable":true},{"propertyName":"deptIds","type":"string","length":"","comment":"可访问部门","nullable":true},{"propertyName":"roleId","type":"string","length":"","comment":"角色","nullable":true},{"propertyName":"status","type":"tinyint","length":"","comment":"状态 0:禁用 1：启用","nullable":false},{"propertyName":"socketId","type":"string","length":"","comment":"socketId","nullable":true},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/base/sys/user"}],"demo":[{"module":"demo","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/demo/danger"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/demo/danger"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/demo/danger"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/demo/danger"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/demo/danger"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/demo/danger"}],"name":"DemoDangerEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"deptName","type":"string","length":"","comment":"公司名称","nullable":false},{"propertyName":"goodsNo","type":"string","length":"","comment":"保单号码","nullable":false},{"propertyName":"name","type":"string","length":"","comment":"出险人姓名","nullable":false},{"propertyName":"plusDate","type":"date","length":"","comment":"保险起期","nullable":false},{"propertyName":"dangerDate","type":"date","length":"","comment":"出险时间","nullable":false},{"propertyName":"directorName","type":"string","length":"","comment":"负责人姓名","nullable":false},{"propertyName":"directorPhone","type":"string","length":"","comment":"负责人电话","nullable":false},{"propertyName":"managerName","type":"string","length":"","comment":"公司联系人姓名","nullable":false},{"propertyName":"managerPhone","type":"string","length":"","comment":"公司联系人电话","nullable":false},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/demo/danger"},{"module":"demo","api":[{"method":"post","path":"/resetNew","summary":"","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/getnew","summary":"","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/export","summary":"","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/import","summary":"","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/minus","summary":"","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/demo/goods"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/demo/goods"}],"name":"DemoGoodsEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"departmentId","type":"bigint","length":"","comment":"公司ID","nullable":false},{"propertyName":"name","type":"string","length":"","comment":"姓名","nullable":false},{"propertyName":"gender","type":"string","length":"","comment":"性别","nullable":false},{"propertyName":"idType","type":"string","length":"","comment":"证件类型","nullable":false},{"propertyName":"idnumber","type":"string","length":"","comment":"身份证号","nullable":false},{"propertyName":"birthday","type":"timestamp","length":"","comment":"出生日期","nullable":true},{"propertyName":"age","type":"string","length":"","comment":"年龄","nullable":true},{"propertyName":"type","type":"string","length":"","comment":"工种","nullable":false},{"propertyName":"plan","type":"string","length":"","comment":"方案","nullable":false},{"propertyName":"plusDate","type":"timestamp","length":"","comment":"增员日期","nullable":true},{"propertyName":"minusDate","type":"timestamp","length":"","comment":"减员日期","nullable":true},{"propertyName":"premium","type":"decimal","length":"","comment":"保费","nullable":true},{"propertyName":"state","type":"bigint","length":"","comment":"状态","nullable":true},{"propertyName":"isNew","type":"bigint","length":"","comment":"是否新增","nullable":true},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/demo/goods"}],"space":[{"module":"space","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/space/info"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/space/info"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/space/info"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/space/info"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/space/info"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/space/info"}],"name":"SpaceInfoEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"url","type":"string","length":"","comment":"地址","nullable":false},{"propertyName":"type","type":"string","length":"","comment":"类型","nullable":false},{"propertyName":"classifyId","type":"bigint","length":"","comment":"分类ID","nullable":true},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/space/info"},{"module":"space","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/space/type"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/space/type"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/space/type"},{"method":"post","path":"/list","summary":"列表查询","dts":{},"tag":"","prefix":"/admin/space/type"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/space/type"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/space/type"}],"name":"SpaceTypeEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"name","type":"string","length":"","comment":"类别名称","nullable":false},{"propertyName":"parentId","type":"tinyint","length":"","comment":"父分类ID","nullable":true},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/space/type"}],"task":[{"module":"task","api":[{"method":"post","path":"/delete","summary":"删除","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"post","path":"/update","summary":"修改","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"post","path":"/start","summary":"开始","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"post","path":"/once","summary":"执行一次","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"post","path":"/stop","summary":"停止","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"get","path":"/info","summary":"单个信息","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"post","path":"/page","summary":"分页查询","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"get","path":"/log","summary":"日志","dts":{},"tag":"","prefix":"/admin/task/info"},{"method":"post","path":"/add","summary":"新增","dts":{},"tag":"","prefix":"/admin/task/info"}],"name":"TaskInfoEntity","columns":[{"propertyName":"id","type":"number","length":"","comment":"ID","nullable":false},{"propertyName":"jobId","type":"string","length":"","comment":"任务ID","nullable":true},{"propertyName":"repeatConf","type":"string","length":"1000","comment":"任务配置","nullable":true},{"propertyName":"name","type":"string","length":"","comment":"名称","nullable":false},{"propertyName":"cron","type":"string","length":"","comment":"cron","nullable":true},{"propertyName":"limit","type":"number","length":"","comment":"最大执行次数 不传为无限次","nullable":true},{"propertyName":"every","type":"number","length":"","comment":"每间隔多少毫秒执行一次 如果cron设置了 这项设置就无效","nullable":true},{"propertyName":"remark","type":"string","length":"","comment":"备注","nullable":true},{"propertyName":"status","type":"tinyint","length":"","comment":"状态 0:停止 1：运行","nullable":false},{"propertyName":"startDate","type":"date","length":"","comment":"开始时间","nullable":true},{"propertyName":"endDate","type":"date","length":"","comment":"结束时间","nullable":true},{"propertyName":"data","type":"string","length":"","comment":"数据","nullable":true},{"propertyName":"service","type":"string","length":"","comment":"执行的service实例ID","nullable":true},{"propertyName":"type","type":"tinyint","length":"","comment":"状态 0:系统 1：用户","nullable":false},{"propertyName":"nextRunTime","type":"date","length":"","comment":"下一次执行时间","nullable":true},{"propertyName":"taskType","type":"tinyint","length":"","comment":"状态 0:cron 1：时间间隔","nullable":false},{"propertyName":"createTime","type":"datetime","length":"","comment":"创建时间","nullable":false},{"propertyName":"updateTime","type":"datetime","length":"","comment":"更新时间","nullable":false}],"prefix":"/admin/task/info"}]})
		// 登录
		async function toLogin() {
			if (!form.username) {
				return ElMessage.error("用户名不能为空");
			}

			if (!form.password) {
				return ElMessage.error("密码不能为空");
			}

			if (!form.verifyCode) {
				return ElMessage.error("图片验证码不能为空");
			}

			saving.value = true;

			try {
				// 登录
				await service.base.open.login(form).then((res) => {
					user.setToken(res);
				});

				// 用户信息
				await user.get();

				// 权限菜单
				await menu.get();

				// 跳转地址
				menu.getPath();

				router.push("/");
			} catch (err: any) {
				refs.value.captcha.refresh();
				ElMessage.error(err.message);
			}

			saving.value = false;
		}

		return {
			refs,
			setRefs,
			form,
			saving,
			toLogin,
			Logo
		};
	}
});
</script>

<style lang="scss" scoped>
.page-login {
	height: 100vh;
	width: 100vw;
	position: relative;
	background-color: #2f3447;

	.box {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 500px;
		width: 500px;
		position: absolute;
		left: calc(50% - 250px);
		top: calc(50% - 250px);

		.logo {
			height: 50px;
			margin-bottom: 30px;
		}

		.desc {
			color: #eee;
			font-size: 22px;
			letter-spacing: 1px;
			margin-bottom: 50px;
		}

		.el-form {
			width: 300px;

			:deep(.el-form-item) {
				margin-bottom: 20px;

				.el-form-item__label {
					color: #ccc;
				}
			}

			input {
				background-color: transparent;
				color: #fff;
				border: 0;
				height: 40px;
				width: calc(100% - 4px);
				margin: 0 2px;
				padding: 0 2px;
				box-sizing: border-box;
				-webkit-text-fill-color: #fff;
				font-size: 15px;
				border-bottom: 1px solid rgba(255, 255, 255, 0.5);

				&:-webkit-autofill {
					box-shadow: 0 0 0px 1000px transparent inset !important;
					transition: background-color 50000s ease-in-out 0s;
				}

				&::-webkit-input-placeholder {
					font-size: 12px;
				}

				&:focus {
					border-color: #fff;
				}
			}

			.row {
				display: flex;
				align-items: center;
				width: 100%;
				position: relative;

				.captcha {
					position: absolute;
					right: 0;
					bottom: 1px;
				}
			}
		}

		.op {
			display: flex;
			justify-content: center;
			margin-top: 50px;

			:deep(.el-button) {
				width: 140px;
			}
		}
	}
}
</style>
